# -*- mode: conf-unix -*-

# This is not my real grub.cfg.  It's more a reference for myself how
# different systems can be booted.

insmod part_msdos
insmod ext2

## Making graphical terminal
## (gfxmode - for grub; gfxpayload - for linux terminal):

# loadfont unicode
# set gfxmode=800x600
# # set gfxpayload=keep
# set gfxpayload=text
# insmod all_video
# insmod gfxterm

terminal_input console
terminal_output console
# terminal_output gfxterm

play 480 176 1
play 480 165 1
play 480 220 1
set pager=1
set default=guix
set timeout=3

set color_normal=white/black
set menu_color_normal=green/black
set menu_color_highlight=yellow/black

function boot_guix {
    search --no-floppy --label --set guix
    linux  ${guix_system}/kernel/bzImage --root=guix --system=${guix_system} --load=${guix_system}/boot modprobe.blacklist=pcspkr,snd_pcsp
    initrd ${guix_system}/initrd
}

### Guix System Distribution
menuentry 'GuixSD (current)' --id guix --class guix --class gnu-linux --class os {
    set guix_system=/var/guix/profiles/system
    boot_guix
}
menuentry 'GuixSD (stable)' --class guix --class gnu-linux --class os {
    set guix_system=/var/guix/profiles/system-28-link
    boot_guix
}
menuentry 'GuixSD (testing)' --class guix --class gnu-linux --class os {
    set guix_system=/gnu/store/wjdx8k1646az10m0cg6c04ydgr2234gs-system
    boot_guix
}

### Arch Linux
menuentry 'Arch Linux' --id arch --class arch --class gnu-linux --class os {
    search --no-floppy --label --set arch
    linux  /boot/vmlinuz-linux  root=LABEL=arch ro acpi_enforce_resources=lax
    initrd /boot/initramfs-linux.img
}
menuentry 'Arch Linux (fallback)' --id arch-fallback --class arch --class gnu-linux --class os {
    search --no-floppy --fs-uuid --set=root 9bb3e1b7-4b87-4e03-9861-a5b995714fc5
    linux  /boot/vmlinuz-linux  root=UUID=9bb3e1b7-4b87-4e03-9861-a5b995714fc5 rw
    initrd /boot/initramfs-linux-fallback.img
}
menuentry 'Arch Linux (linux-lts)' --id arch-lts --class arch --class gnu-linux --class os {
    search --no-floppy --label --set arch
    linux  /boot/vmlinuz-linux-lts  root=LABEL=arch ro acpi_enforce_resources=lax
    initrd /boot/initramfs-linux-lts.img
}
menuentry 'Arch Linux (linux-mainline)' --id arch-mainline --class arch --class gnu-linux --class os {
    search --no-floppy --label --set arch
    linux  /boot/vmlinuz-linux-mainline  root=LABEL=arch ro acpi_enforce_resources=lax
    initrd /boot/initramfs-linux-mainline.img
}

### Misc
menuentry 'MS Windows (ntldr)' --id windows --class windows --class os {
    insmod fat
    search --no-floppy --fs-uuid --set=root f011-d8a2
    drivemap -s (hd0) ${root}
    chainloader +1
}
menuentry 'GRUB2 on hd1' {
    set root='(hd1)'
    chainloader +1
}
menuentry 'Plop Boot Manager' {
    search --no-floppy --label --set boot
    # search --no-floppy --fs-uuid --set=root a75fb002-d340-432d-9e7f-36a53ba9c959
    linux16 /plpbt.bin
}

### Images
menuentry 'Archlinux 2016-03-01 x86_64 (iso)' --class iso {
    search --no-floppy --fs-uuid --set=root f8cdd183-1a60-4748-826c-8648206d03fb
    set isofile="/images/archlinux-2016.03.01-dual.iso"
    loopback loop $isofile
    linux (loop)/arch/boot/x86_64/vmlinuz archisolabel=ARCH_201603 img_dev=/dev/sda7 img_loop=$isofile earlymodules=loop
    initrd (loop)/arch/boot/x86_64/archiso.img
}
menuentry 'Archlinux 2016-03-01 i686 (iso)' --class iso {
    search --no-floppy --fs-uuid --set=root f8cdd183-1a60-4748-826c-8648206d03fb
    set isofile="/images/archlinux-2016.03.01-dual.iso"
    loopback loop $isofile
    linux (loop)/arch/boot/i686/vmlinuz archisolabel=ARCH_201603 img_dev=/dev/sda7 img_loop=$isofile earlymodules=loop
    initrd (loop)/arch/boot/i686/archiso.img
}
menuentry 'Parted Magic 2012-03-24 (iso)' --class iso {
    search --no-floppy --fs-uuid --set=root f8cdd183-1a60-4748-826c-8648206d03fb
    loopback loop /images/pmagic_2012_3_24.iso
    linux (loop)/pmagic/bzImage boot=casper iso-scan/filename=/images/pmagic_2012_3_24.iso
    initrd (loop)/pmagic/initrd.img
}
menuentry 'Lubuntu 11.10 (iso)' --class iso {
    search --no-floppy --fs-uuid --set=root f8cdd183-1a60-4748-826c-8648206d03fb
    loopback loop /images/lubuntu-11.10-desktop-i386.iso
    linux (loop)/pmagic/bzImage boot=casper iso-scan/filename=/images/lubuntu-11.10-desktop-i386.iso
    linux (loop)/casper/vmlinuz  file=(loop)/preseed/lubuntu.seed boot=casper iso-scan/filename=/images/lubuntu-11.10-desktop-i386.iso
    initrd (loop)/casper/initrd.lz
}
